1
Lección 7: Introducción a los Módulos de Python
EvoClass-AI001Lecture 7
00:00

Introducción a los Módulos de Python

En Python, un módulo es un archivo que termina en .pyque sirve como contenedor para componentes de código reutilizables (funciones, clases, variables). Los módulos son la base de la arquitectura de programas a gran escala, permitiendo a los desarrolladores gestionar la complejidad y mejorar el mantenimiento del código al separar lógicamente las definiciones. Este proceso es similar a cómo los conceptos matemáticos se dividen en campos especializados (por ejemplo, $f(x)$ se define en un dominio específico $D$).

1. El propósito del módulo

Los módulos abordan tres necesidades críticas en el desarrollo:

  • Fomentar el reuso de códigoen múltiples proyectos sin tener que volver a escribir las definiciones.
  • Garantizar claridad y organización al dividir programas grandes en archivos manejables y relacionados.
  • Evitar colisiones de nombresdefiniendo espacios de nombres independientes para funciones y variables.

Ejemplo conceptual:

Imagina tener un archivo llamado utility.py que contiene funciones para calcular resultados matemáticos. Todo este archivo es el módulo, y esas funciones son su contenido accesible.

2. Métodos de importación

La sentencia Python importhace que las definiciones externas estén disponibles para tu script actual. El método elegido determina cómo accedes a los componentes y cómo afecta al espacio de nombres del programa actual.

  • Importación estándar:import nombre_modulo. Requiere acceder al contenido usando nombre_modulo.funcion().
  • Importación selectiva:from modulo import funcion. Permite usar directamente funcion()sin el prefijo del módulo.
  • Importación con alias:import modulo comoalias. Proporciona un apodo más corto y específico del proyecto por conveniencia (por ejemplo, import numpy como np).
Enfoque en la Biblioteca Estándar
Python incluye una extensa Biblioteca Estándarde módulos integrados (como 'os', 'sys', 'random', 'math'). Aprender a utilizar estos módulos reutilizables es esencial para un desarrollo eficiente y ahorra mucho tiempo.
Question 1
If you use import math, how must you call the sqrt function to calculate $\sqrt{25}$?
sqrt(25)
math.sqrt(25)
math::sqrt(25)
use math sqrt
Question 2
Which benefit of using modules addresses the issue of having multiple functions named process_data in a large application?
Code execution speed
Preventing Naming Collisions
Automatic debugging
Question 3
What happens to a module file the second time you attempt to import it in the same running program?
It is imported again, executing all top-level code.
The import fails with an error.
Python recognizes it is already loaded and skips execution.
Only variables are reloaded.